package com.qingxin.wuye.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 房间收费设置
 * WyRoomFee entity. 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "wy_room_fee")
public class WyRoomFee extends com.qingxin.sys.entity.BaseEntity implements
		java.io.Serializable {

	// Fields
	private static final long serialVersionUID = 3749315334582261484L;
	private String feeid;
	private String gardenid;
	private String buildingid;
	private String roomid;
	private String roomCode;
	private String itemid;
	private String prjcode;
	private String prjname;
	private BigDecimal price;
	private Integer isfee;
	private Integer cycle;
	private String cycleUnit;
	private Integer cycleNum;
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date beginTime;
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date endTime;
	private String accuracy;
	private Integer printIndex;
	private BigDecimal feeArea;
	private String remark;
	private BigDecimal latePaymentsRate;
	private Integer latePaymentsDays;
	private Integer incrementMonths;
	private BigDecimal incrementPercent;
	private Integer tiered;
	private Integer feeMode;
	private Integer chargeMode;
	private Integer feeType;
	private String carCode;
	private Integer iscarport;
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date feeEndTime;
	private String latestSerial;
	private String formulas;
	private String createBy;
	private Date createTime;
	private String updateBy;
	private Date updateTime;

	private String gardenName;
	
	// Constructors

	/** default constructor */
	public WyRoomFee() {
	}

	public WyRoomFee(String feeid, String roomCode, String prjcode,
			String prjname, BigDecimal price, Integer isfee, Integer cycle,
			String cycleUnit, Integer cycleNum, Date beginTime, Date endTime,
			String accuracy, Integer printIndex, BigDecimal feeArea,
			String remark, BigDecimal latePaymentsRate,
			Integer latePaymentsDays, Integer incrementMonths,
			BigDecimal incrementPercent, Integer tiered, Integer feeMode,
			Integer chargeMode, Integer feeType, String carCode,
			Integer iscarport, Date feeEndTime, String latestSerial,
			String formulas, String gardenName) {
		this.feeid = feeid;
		this.roomCode = roomCode;
		this.prjcode = prjcode;
		this.prjname = prjname;
		this.price = price;
		this.isfee = isfee;
		this.cycle = cycle;
		this.cycleUnit = cycleUnit;
		this.cycleNum = cycleNum;
		this.beginTime = beginTime;
		this.endTime = endTime;
		this.accuracy = accuracy;
		this.printIndex = printIndex;
		this.feeArea = feeArea;
		this.remark = remark;
		this.latePaymentsRate = latePaymentsRate;
		this.latePaymentsDays = latePaymentsDays;
		this.incrementMonths = incrementMonths;
		this.incrementPercent = incrementPercent;
		this.tiered = tiered;
		this.feeMode = feeMode;
		this.chargeMode = chargeMode;
		this.feeType = feeType;
		this.carCode = carCode;
		this.iscarport = iscarport;
		this.feeEndTime = feeEndTime;
		this.latestSerial = latestSerial;
		this.formulas = formulas;
		this.gardenName = gardenName;
	}

	/** full constructor */
	public WyRoomFee(String gardenid, String roomid, String roomCode,
			String prjcode, String prjname, BigDecimal price, Integer isfee,
			Integer cycle, String cycleUnit, Integer cycleNum,
			Date beginTime, Date endTime, String accuracy,
			Integer printIndex, BigDecimal feeArea, String remark,
			BigDecimal latePaymentsRate, Integer latePaymentsDays,
			Integer incrementMonths, BigDecimal incrementPercent, Integer tiered,
			Integer feeMode, Integer chargeMode, Integer feeType,
			String carCode, Integer iscarport, Date feeEndTime,
			String latestSerial, String formulas, String createBy,
			Date createTime, String updateBy, Date updateTime) {
		this.gardenid = gardenid;
		this.roomid = roomid;
		this.roomCode = roomCode;
		this.prjcode = prjcode;
		this.prjname = prjname;
		this.price = price;
		this.isfee = isfee;
		this.cycle = cycle;
		this.cycleUnit = cycleUnit;
		this.cycleNum = cycleNum;
		this.beginTime = beginTime;
		this.endTime = endTime;
		this.accuracy = accuracy;
		this.printIndex = printIndex;
		this.feeArea = feeArea;
		this.remark = remark;
		this.latePaymentsRate = latePaymentsRate;
		this.latePaymentsDays = latePaymentsDays;
		this.incrementMonths = incrementMonths;
		this.incrementPercent = incrementPercent;
		this.tiered = tiered;
		this.feeMode = feeMode;
		this.chargeMode = chargeMode;
		this.feeType = feeType;
		this.carCode = carCode;
		this.iscarport = iscarport;
		this.feeEndTime = feeEndTime;
		this.latestSerial = latestSerial;
		this.formulas = formulas;
		this.createBy = createBy;
		this.createTime = createTime;
		this.updateBy = updateBy;
		this.updateTime = updateTime;
	}

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "feeid", unique = true, nullable = false, length = 32)
	public String getFeeid() {
		return this.feeid;
	}

	public void setFeeid(String feeid) {
		this.feeid = feeid;
	}

	@Column(name = "gardenid", length = 32)
	public String getGardenid() {
		return this.gardenid;
	}

	public void setGardenid(String gardenid) {
		this.gardenid = gardenid;
	}

	@Column(name = "buildingid", length = 32)
	public String getBuildingid() {
		return buildingid;
	}

	public void setBuildingid(String buildingid) {
		this.buildingid = buildingid;
	}

	@Column(name = "roomid", length = 32)
	public String getRoomid() {
		return this.roomid;
	}

	public void setRoomid(String roomid) {
		this.roomid = roomid;
	}

	@Column(name = "room_code", length = 50)
	public String getRoomCode() {
		return this.roomCode;
	}

	public void setRoomCode(String roomCode) {
		this.roomCode = roomCode;
	}

	@Column(name = "itemid", length = 32)
	public String getItemid() {
		return itemid;
	}

	public void setItemid(String itemid) {
		this.itemid = itemid;
	}

	@Column(name = "prjcode", length = 50)
	public String getPrjcode() {
		return this.prjcode;
	}

	public void setPrjcode(String prjcode) {
		this.prjcode = prjcode;
	}

	@Column(name = "prjname", length = 50)
	public String getPrjname() {
		return this.prjname;
	}

	public void setPrjname(String prjname) {
		this.prjname = prjname;
	}

	@Column(name = "price", precision = 12, scale = 2)
	public BigDecimal getPrice() {
		return this.price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	@Column(name = "isfee")
	public Integer getIsfee() {
		return this.isfee;
	}

	public void setIsfee(Integer isfee) {
		this.isfee = isfee;
	}

	@Column(name = "cycle")
	public Integer getCycle() {
		return this.cycle;
	}

	public void setCycle(Integer cycle) {
		this.cycle = cycle;
	}

	@Column(name = "cycle_unit", length = 50)
	public String getCycleUnit() {
		return this.cycleUnit;
	}

	public void setCycleUnit(String cycleUnit) {
		this.cycleUnit = cycleUnit;
	}

	@Column(name = "cycle_num")
	public Integer getCycleNum() {
		return this.cycleNum;
	}

	public void setCycleNum(Integer cycleNum) {
		this.cycleNum = cycleNum;
	}

	@Column(name = "begin_time", length = 23)
	public Date getBeginTime() {
		return this.beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	@Column(name = "end_time", length = 23)
	public Date getEndTime() {
		return this.endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	@Column(name = "accuracy", length = 50)
	public String getAccuracy() {
		return this.accuracy;
	}

	public void setAccuracy(String accuracy) {
		this.accuracy = accuracy;
	}

	@Column(name = "print_index")
	public Integer getPrintIndex() {
		return this.printIndex;
	}

	public void setPrintIndex(Integer printIndex) {
		this.printIndex = printIndex;
	}

	@Column(name = "fee_area", precision = 12, scale = 2)
	public BigDecimal getFeeArea() {
		return this.feeArea;
	}

	public void setFeeArea(BigDecimal feeArea) {
		this.feeArea = feeArea;
	}

	@Column(name = "remark", length = 2000)
	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "late_payments_rate", precision = 12, scale = 6)
	public BigDecimal getLatePaymentsRate() {
		return this.latePaymentsRate;
	}

	public void setLatePaymentsRate(BigDecimal latePaymentsRate) {
		this.latePaymentsRate = latePaymentsRate;
	}

	@Column(name = "late_payments_days")
	public Integer getLatePaymentsDays() {
		return this.latePaymentsDays;
	}

	public void setLatePaymentsDays(Integer latePaymentsDays) {
		this.latePaymentsDays = latePaymentsDays;
	}

	@Column(name = "increment_months")
	public Integer getIncrementMonths() {
		return this.incrementMonths;
	}

	public void setIncrementMonths(Integer incrementMonths) {
		this.incrementMonths = incrementMonths;
	}

	@Column(name = "increment_percent", precision = 12, scale = 6)
	public BigDecimal getIncrementPercent() {
		return this.incrementPercent;
	}

	public void setIncrementPercent(BigDecimal incrementPercent) {
		this.incrementPercent = incrementPercent;
	}

	@Column(name = "tiered")
	public Integer getTiered() {
		return this.tiered;
	}

	public void setTiered(Integer tiered) {
		this.tiered = tiered;
	}

	@Column(name = "fee_mode")
	public Integer getFeeMode() {
		return this.feeMode;
	}

	public void setFeeMode(Integer feeMode) {
		this.feeMode = feeMode;
	}

	@Column(name = "charge_mode")
	public Integer getChargeMode() {
		return this.chargeMode;
	}

	public void setChargeMode(Integer chargeMode) {
		this.chargeMode = chargeMode;
	}

	@Column(name = "fee_type")
	public Integer getFeeType() {
		return this.feeType;
	}

	public void setFeeType(Integer feeType) {
		this.feeType = feeType;
	}

	@Column(name = "car_code", length = 50)
	public String getCarCode() {
		return this.carCode;
	}

	public void setCarCode(String carCode) {
		this.carCode = carCode;
	}

	@Column(name = "iscarport")
	public Integer getIscarport() {
		return this.iscarport;
	}

	public void setIscarport(Integer iscarport) {
		this.iscarport = iscarport;
	}

	@Column(name = "fee_end_time", length = 23)
	public Date getFeeEndTime() {
		return this.feeEndTime;
	}

	public void setFeeEndTime(Date feeEndTime) {
		this.feeEndTime = feeEndTime;
	}

	@Column(name = "latest_serial", length = 50)
	public String getLatestSerial() {
		return this.latestSerial;
	}

	public void setLatestSerial(String latestSerial) {
		this.latestSerial = latestSerial;
	}

	@Column(name = "formulas", length = 500)
	public String getFormulas() {
		return this.formulas;
	}

	public void setFormulas(String formulas) {
		this.formulas = formulas;
	}

	@Column(name = "create_by", length = 50)
	public String getCreateBy() {
		return this.createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	@Column(name = "create_time", length = 23)
	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "update_by", length = 50)
	public String getUpdateBy() {
		return this.updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	@Column(name = "update_time", length = 23)
	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	
	@Transient
	public String getGardenName() {
		return gardenName;
	}
	public void setGardenName(String gardenName) {
		this.gardenName = gardenName;
	}
	
}